package start.hutool;

import cn.hutool.cron.CronUtil;
import cn.hutool.cron.pattern.CronPattern;
import cn.hutool.cron.pattern.CronPatternUtil;
import cn.hutool.cron.task.Task;
import org.junit.Test;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.logging.SimpleFormatter;

//定时任务
public class TimedTask {

    public static void main(String[] args){
        TimedTask task=new TimedTask();
        task.cronTask();
    }

    @Test//是一个线程
    public void cronTask(){
//        CronUtil.schedule(" 0/2 * * * * ?", (Task) ()-> System.out.println("1"));
//        CronUtil.schedule(" 0/2 * * * * ?", (Task) ()-> System.out.println("2"));
//        CronUtil.setMatchSecond(true);//支持秒级，否则第一位表分
//        CronUtil.start();//守护线程在用户线程结束时也会结束 同gc线程
        long start=System.currentTimeMillis(), end=start+1000l*60*60*24*30;
        List<Date> list = CronPatternUtil.matchedDates(" 0/2 * * * * ?",start,end
                , 5, false);
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd HH:mm:ss");
        list.forEach((x)->System.out.println(sdf.format(x)));
    }
    @Test
    public void number(){
        long n=0l;
        System.out.println(n+1000l*60*60*24*30);
    }
}
